package Calculator;
public class Test_calculator {
    private int ShowCount;
    public String getMid(String str){
        ShowCount=-1;
        String st=str;
        String ptr="";
        String p="";//记录sqrt，（+/-），1/后面的相关数字
        int getNum1=0;//记录统计的数字个数
        int getNum2=0;//记录统计的运算符的个数,检验四则运算是否数字与运算符相互匹配
        int i=0;
        while(i<st.length()){
            if(st.charAt(i)=='s'||st.charAt(i)=='/'||st.charAt(i)=='(')
                ShowCount=1;
            i++;
        }
        i=0;
        while(i<st.length()&&ShowCount==1){
            if(st.charAt(i)=='s'){
                i+=4;p="";
                while(i<st.length()&&st.charAt(i)>='0'&&st.charAt(i)<='9'){
                    p+=st.charAt(i++);
                    if(i<st.length()&&st.charAt(i)=='.')
                        p+=st.charAt(i++);
                }
                ptr+=Math.sqrt(Double.parseDouble(p));
            }
            else if(st.charAt(i)=='('){
                i+=5;p="";
                if(st.charAt(i)=='-'){
                    p+="-";i++;
                }
                while(i<st.length()&&st.charAt(i)>='0'&&st.charAt(i)<='9'){
                    p+=st.charAt(i++);
                    if(i<st.length()&&st.charAt(i)=='.')
                        p+=st.charAt(i++);
                }
                ptr+="("+(-1.0)*Float.parseFloat(p)+")";
            }
            else{
                ptr+=st.charAt(i);
                i++;
            }
        }
        if(ShowCount==1)
            return ptr;
        else
            return st;
   }
}
